package com.tm;

/**
 * 2024/4/25
 * **/
public class Demo10 {
    public static void main(String[] args) {
        //目标：掌握逻辑运算符的使用
        //需求：要求手机必须满足尺寸大于等于7.4且内存必须大于等于8
        double size=14.5;
        int   storage=16;

        //1 & 前后条件必须是true 结果才是true
        boolean rs=size >=7.4 & storage>=8;
        System.out.println(rs);//true


        //需求2. 要求手机满足尺寸大于等于7.4,要么内存必须大于8
        //  | 只要有多个条件中有一个是true,结果就是true
        boolean rs1=size >=7.4 | storage>8;
        System.out.println(rs1);//true

        //3. !取反的意思
        System.out.println(!(2>1));//false
        System.out.println(!(5<1));//true

        //4.^ 前后条件的结果相同时返回false,不同时返回true
        System.out.println(true ^ true); //false
        System.out.println(false ^ true); //true
        System.out.println(false ^ false);//false
        System.out.println(true ^ false);//true

        //5. && 逻辑与 左边为false,右边不执行
        int i=20;
        int j=20;
        System.out.println(i >100 & ++j>99);//false

        //6. || 逻辑或 左边是true 右边就不执行
        int m=10;
        int n=30;
        System.out.println(m >3 | ++n >40);//true
        System.out.println(n);

        /**1.逻辑运算符有哪些，有什么特点 ?
          && || ! ^ &
          & 逻辑或 有一个为真就是 true
         && 逻辑与 有一个假就不执行后边那个判断了
         | 有一个为true就都是true
         || 逻辑或 有一个为true 就不执行后边的那个判断了 直接为true
         ！ ！false=true !true=false
         ^ 异或 相同是false 不同是true
         **/

    }
}
